package com.kfm.pm;

import java.util.Iterator;
import java.util.Objects;
import java.util.Vector;
import java.util.function.Consumer;

public class Test {

    public static void main(String[] args) {
        // Collection(单列)  Map(双列)
        // List Set Queue
        // Deque
        // Vector 数组
        // Iterator 迭代器 iterator()  获取迭代器 指向集合的第一个元素
        // next() 取出当前，指向下一个 hasNext() 判断是否还有下一个
        Vector vector = new Vector(5);
        vector.add(new QQCY("喜羊羊", 17, "学习"));
        vector.add(new QQCY("美羊羊", 16, "爱美"));
        vector.add(new QQCY("沸羊羊", 15, "舔羊"));
        vector.add(new QQCY("灰太狼", 30, "抓羊"));
        vector.add(new QQCY("小灰灰", 5, "吃"));
        vector.add(new QQCY("懒羊羊", 15, "睡觉"));
        int size = vector.size();
        System.out.println("for循环输出");
        // 输出vector
//        for (int i = 0; i < size; i++) {
//            Object obj = vector.get(i);
//            System.out.println(obj);
//        }
//        System.out.println("增强for循环");
//        // 增强for循环
//        for (Object obj : vector) {
//            System.out.println(obj);
//        }
//        System.out.println(vector.size());
//        System.out.println("迭代器输出");
        // Iterator 迭代器输出
//        Iterator iterator = vector.iterator();
//        while (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        System.out.println(vector.size());
//        // forEach(Consumer)方法
        // 匿名类
//        Kfm kfm = new Kfm() {
//            public void meeting() {}
//            public void study(String name) {}
//        };
//
//        Consumer consumer = new Consumer() {
//            public void accept(Object object) {
//                System.out.println(object);
//            }
//        };
//        vector.forEach(consumer);
        vector.forEach(new ConsumerImpl());
//        // lambda表达式
//        vector.forEach(obj -> System.out.println(obj));


    }
}

class ConsumerImpl implements Consumer {

    @Override
    public void accept(Object object) {
        System.out.println(object);
    }
}
